package persistence;

import java.io.IOException;
import java.util.List;
import java.util.Vector;

import net.GameManagement;

import valueObjects.game.Player;
import valueObjects.game.card.Card;

public interface IPersistenceManager {

	public void openForReading(String datenquelle) throws IOException;
	
	public void openForReadingSer(String datenquelle) throws IOException;
	
	public void openForWritingSer(String datenquelle) throws IOException;
	
	public boolean close();
	
	public Card loadEquipCard() throws IOException;

	public Card loadRaceCard() throws IOException;

	public Card loadClassCard() throws IOException;
	
	public Card loadMonsterCard() throws IOException;
	
	public Card loadCurseCard() throws IOException;
	
	public Card loadBuffCard() throws IOException;

	public String readLine() throws IOException;

	public List<Player> loadPlayers() throws IOException, ClassNotFoundException;

	public void savePlayerList(Vector<Player> listOfPlayers) throws IOException;

	public Card loadMiscellaneousCard() throws IOException;

	public void saveGame(GameManagement gameManagement) throws IOException;

	public GameManagement loadGame() throws ClassNotFoundException, IOException;

}
